package com.spider.config;

import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author 罗振军
 * @version V1.0
 * @Package com.spider.config
 * @date 2024/7/18 16:50
 */
@Configuration
public class MybatisPlusConfig {

    /**
     * 这个拦截器用于分页查询时的插件，
     * 通过添加PaginationInnerInterceptor实现对MybatisPlus的分页插件的配置
     * @return
     */
    @Bean
    //MybatisPlusInterceptor是一个核心组件，它被设计来拦截Mybatis执行SQL语句的过程
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();

        // 添加了一个PaginationInnerInterceptor，这意味着所有的查询操作将自动支持分页功能，
        // 而无需在每个查询中手动添加分页逻辑。这极大地简化了分页查询的实现。
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());

        return mybatisPlusInterceptor;
    }
}
